perm filename UTILS[1,3]4 blob
sn#013826 filedate 1972-11-26 generic text, type T, neo UTF8
(LAP PRELIST SUBR)
(PUSH P 1)
(PUSH P 2)
(MOVEI 2 (QUOTE 1))
(MOVE 1 0 P)
(CALL 2 (E *LESS))
(JUMPN 1 TAG3)
(MOVE 1 -1 P)
(JUMPN 1 TAG2)
TAG3 (MOVEI 1 (QUOTE NIL))
(JRST 0 TAG1)
TAG2 (HRRZ@ 1 -1 P)
(PUSH P 1)
(HLRZ@ 1 -2 P)
(MOVEI 2 (QUOTE 1))
(PUSH P 1)
(MOVE 1 -2 P)
(CALL 2 (E *DIF))
(MOVE 2 1)
(EXCH 1 -1 P)
(CALL 2 (E PRELIST))
(POP P 2)
(CALL 2 (E XCONS))
(SUB P (C 0 0 1 1))
TAG4
TAG1 (SUB P (C 0 0 2 2))
(POPJ P)
NIL
(LAP SUFLIST SUBR)
(PUSH P 1)
(PUSH P 2)
(MOVEI 2 (QUOTE 1))
(MOVE 1 0 P)
(CALL 2 (E *LESS))
(JUMPN 1 TAG3)
(MOVE 1 -1 P)
(JUMPN 1 TAG2)
TAG3 (MOVE 1 -1 P)
(JRST 0 TAG1)
TAG2 (HRRZ@ 1 -1 P)
(MOVEI 2 (QUOTE 1))
(PUSH P 1)
(MOVE 1 -1 P)
(CALL 2 (E *DIF))
(MOVE 2 1)
(POP P 1)
(CALL 2 (E SUFLIST))
TAG4
TAG1 (SUB P (C 0 0 2 2))
(POPJ P)
NIL
(LAP STR SUBR)
(CALL 1 (E EXPLODEC))
(PUSH P 1)
(MOVEI 1 (QUOTE /"))
(CALL 1 (E NCONS))
(MOVE 2 1)
(POP P 1)
(CALL 2 (E *APPEND))
(MOVEI 2 (QUOTE /"))
(CALL 2 (E XCONS))
(JCALL 1 (E READLIST))
NIL
(LAP STRP SUBR)
(PUSH P 1)
(PUSH P (C 0 0 (QUOTE NIL) 0))
(CALL 1 (E ATOM))
(JUMPE 1 TAG6)
(MOVE 1 -1 P)
(CALL 1 (E NUMBERP))
(JUMPE 1 TAG5)
TAG6 (MOVEI 1 (QUOTE NIL))
(JRST 0 TAG4)
TAG5 (MOVEI 2 (QUOTE PNAME))
(MOVE 1 -1 P)
(CALL 2 (E GET))
(MOVEM 1 0 P)
(CALL 1 (E LAST))
(MOVE 2 1)
(MOVE 1 0 P)
(CALL 2 (E &STRP))
TAG7
TAG4 (SUB P (C 0 0 2 2))
(POPJ P)
NIL
(LAP STRLEN SUBR)
(CALL 1 (E EXPLODEC))
(JCALL 1 (E LENGTH))
NIL
(LAP SEQ SUBR)
(PUSH P 2)
(CALL 1 (E EXPLODEC))
(EXCH 1 0 P)
(CALL 1 (E EXPLODEC))
(POP P 2)
(JCALL 2 (E EQUAL))
NIL
(LAP SUBFUN1AT SUBR)
(CALL 0 (E GENSYM))
(MOVEI 2 (QUOTE PNAME))
(CALL 2 (E GET))
(HLRZ@ 1 1)
(POPJ P)
NIL
(LAP AT SUBR)
(PUSH P 1)
(CALL 1 (E ATOM))
(JUMPN 1 TAG2)
(MOVE 1 0 P)
(CALL 1 (E STR))
(CALL 1 (E AT))
(JRST 0 TAG1)
TAG2 (MOVE 1 0 P)
(CALL 1 (E NUMBERP))
(JUMPE 1 TAG3)
(MOVE 1 0 P)
(CALL 1 (E EXPLODE))
(MOVEI 2 (QUOTE //))
(CALL 2 (E XCONS))
(CALL 1 (E READLIST))
(JRST 0 TAG1)
TAG3 (MOVE 1 0 P)
(CALL 1 (E STRP))
(JUMPN 1 TAG4)
(MOVE 1 0 P)
(JRST 0 TAG1)
TAG4 (CALL 0 (E GENSYM))
(MOVEI 2 (QUOTE PNAME))
(PUSH P 1)
(MOVE 1 -1 P)
(CALL 2 (E GET))
(MOVE 2 1)
(PUSH P 1)
(MOVEI 1 (QUOTE SUBFUN1AT))
(CALL 2 (E MAPCAR))
(MOVEI 3 (QUOTE PNAME))
(MOVE 2 1)
(PUSH P 1)
(MOVE 1 -2 P)
(CALL 3 (E PUTPROP))
(MOVE 2 0 P)
(MOVE 1 -1 P)
(CALL 2 (E ©))
(JUMPE 1 TAG13)
(MOVEI 1 (QUOTE &NONAME))
(JRST 0 TAG12)
TAG13 (MOVE 1 -2 P)
(CALL 1 (E INTERN))
TAG14
TAG12 (SUB P (C 0 0 3 3))
TAG5
TAG1 (SUB P (C 0 0 1 1))
(POPJ P)
NIL
(LAP CAT SUBR)
(PUSH P 2)
(CALL 1 (E EXPLODEC))
(EXCH 1 0 P)
(CALL 1 (E EXPLODEC))
(PUSH P 1)
(MOVEI 1 (QUOTE /"))
(CALL 1 (E NCONS))
(MOVE 2 1)
(POP P 1)
(CALL 2 (E *APPEND))
(MOVE 2 1)
(POP P 1)
(CALL 2 (E *APPEND))
(MOVEI 2 (QUOTE /"))
(CALL 2 (E XCONS))
(JCALL 1 (E READLIST))
NIL
(LAP SUBSTR SUBR)
(PUSH P 1)
(PUSH P 2)
(PUSH P 3)
(MOVE 1 3)
(CALL 1 (E NUMBERP))
(JUMPE 1 TAG2)
(MOVE 1 -2 P)
(CALL 1 (E EXPLODEC))
(MOVEI 2 (QUOTE 1))
(PUSH P 1)
(MOVE 1 -2 P)
(CALL 2 (E *DIF))
(MOVE 2 1)
(POP P 1)
(CALL 2 (E SUFLIST))
(MOVE 2 0 P)
(CALL 2 (E PRELIST))
(JRST 0 TAG1)
TAG2 (MOVE 1 -2 P)
(CALL 1 (E EXPLODEC))
(MOVEI 2 (QUOTE 1))
(PUSH P 1)
(MOVE 1 -2 P)
(CALL 2 (E *DIF))
(MOVE 2 1)
(POP P 1)
(CALL 2 (E SUFLIST))
TAG3
TAG1 (MOVEM 1 -2 P)
(MOVEI 1 (QUOTE /"))
(CALL 1 (E NCONS))
(MOVE 2 1)
(EXCH 1 -2 P)
(CALL 2 (E *APPEND))
(MOVEI 2 (QUOTE /"))
(CALL 2 (E XCONS))
(SUB P (C 0 0 3 3))
(JCALL 1 (E READLIST))
NIL
(LAP PRINTSTR SUBR)
(CALL 1 (E PRINC))
(JCALL 1 (E TERPRI))
NIL
(LAP NEQ SUBR)
(PUSH P 1)
(PUSH P 2)
(CAME 1 2)
(JRST 0 TAG1)
(TDZA 1 1)
TAG1 (MOVEI 1 (QUOTE T))
(SUB P (C 0 0 2 2))
(POPJ P)
NIL
(LAP NEQUAL SUBR)
(CALL 2 (E EQUAL))
(JUMPE 1 TAG1)
(TDZA 1 1)
TAG1 (MOVEI 1 (QUOTE T))
(POPJ P)
NIL
(LAP LEQUAL SUBR)
(CALL 2 (E *GREAT))
(JUMPE 1 TAG1)
(TDZA 1 1)
TAG1 (MOVEI 1 (QUOTE T))
(POPJ P)
NIL
(LAP GEQUAL SUBR)
(CALL 2 (E *LESS))
(JUMPE 1 TAG1)
(TDZA 1 1)
TAG1 (MOVEI 1 (QUOTE T))
(POPJ P)
NIL
(LAP &VECTOR SUBR)
(PUSH P 1)
(PUSH P 2)
(PUSH P 3)
(PUSH P 4)
(JUMPE 1 TAG3)
(JUMPE 3 TAG5)
(MOVE 1 3)
(CALL 1 (E ATOM))
(JUMPE 1 TAG5)
(MOVEI 2 (QUOTE MACRO))
(MOVE 1 -2 P)
(CALL 2 (E GET))
(JUMPE 1 TAG10)
(MOVE 1 -1 P)
(CALL 1 (E NCONS))
(MOVEI 2 (QUOTE QUOTE))
(CALL 2 (E XCONS))
(CALL 1 (E NCONS))
(MOVE 2 -2 P)
(CALL 2 (E XCONS))
(CALL 1 (E *EVAL))
(JRST 0 TAG7)
TAG10 (MOVE 1 -1 P)
(CALLF@ 1 -2 P)
TAG11
TAG7 (JRST 0 TAG4)
TAG5 (MOVE 2 -1 P)
(MOVE 1 -2 P)
(CALL 2 (E MAPCAR))
TAG13
TAG4 (JRST 0 TAG2)
TAG3 (PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(MOVE 1 -10 P)
(JUMPE 1 TAG23)
(CALL 1 (E ATOM))
(JUMPN 1 TAG22)
TAG23 (TDZA 1 1)
TAG22 (MOVEI 1 (QUOTE T))
(MOVEM 1 -2 P)
(MOVE 1 -7 P)
(JUMPE 1 TAG25)
(CALL 1 (E ATOM))
(JUMPN 1 TAG24)
TAG25 (TDZA 1 1)
TAG24 (MOVEI 1 (QUOTE T))
(MOVEI 2 (QUOTE MACRO))
(MOVEM 1 -3 P)
(MOVE 1 -11 P)
(CALL 2 (E GET))
(MOVEM 1 -6 P)
(MOVE 1 -2 P)
(JUMPE 1 TAG27)
(MOVE 1 -3 P)
(JUMPE 1 TAG27)
(MOVE 1 -6 P)
(JUMPE 1 TAG32)
(MOVE 1 -10 P)
(CALL 1 (E NCONS))
(MOVEI 2 (QUOTE QUOTE))
(CALL 2 (E XCONS))
(PUSH P 1)
(MOVE 1 -10 P)
(CALL 1 (E NCONS))
(MOVEI 2 (QUOTE QUOTE))
(CALL 2 (E XCONS))
(CALL 1 (E NCONS))
(POP P 2)
(CALL 2 (E XCONS))
(MOVE 2 -11 P)
(CALL 2 (E XCONS))
(CALL 1 (E *EVAL))
(JRST 0 TAG31)
TAG32 (MOVE 2 -7 P)
(MOVE 1 -10 P)
(CALLF@ 2 -11 P)
TAG33
TAG31 (JRST 0 TAG17)
TAG27 (MOVEI 1 (QUOTE NIL))
(CALL 1 (E NCONS))
(MOVEM 1 -1 P)
(MOVEM 1 0 P)
TAG1 (MOVE 1 -10 P)
(JUMPE 1 TAG37)
(MOVE 1 -7 P)
(JUMPN 1 TAG36)
TAG37 (HRRZ@ 1 0 P)
(JRST 0 TAG17)
TAG36 (MOVE 1 -2 P)
(JUMPE 1 TAG41)
(MOVE 1 -10 P)
(MOVEM 1 -4 P)
(JRST 0 TAG40)
TAG41 (HLRZ@ 1 -10 P)
(MOVEM 1 -4 P)
(HRRZ@ 1 -10 P)
(MOVEM 1 -10 P)
TAG42
TAG40 (MOVE 1 -3 P)
(JUMPE 1 TAG45)
(MOVE 1 -7 P)
(MOVEM 1 -5 P)
(JRST 0 TAG44)
TAG45 (HLRZ@ 1 -7 P)
(MOVEM 1 -5 P)
(HRRZ@ 1 -7 P)
(MOVEM 1 -7 P)
TAG46
TAG44 (MOVE 1 -6 P)
(JUMPE 1 TAG51)
(MOVE 1 -4 P)
(CALL 1 (E NCONS))
(MOVEI 2 (QUOTE QUOTE))
(CALL 2 (E XCONS))
(PUSH P 1)
(MOVE 1 -6 P)
(CALL 1 (E NCONS))
(MOVEI 2 (QUOTE QUOTE))
(CALL 2 (E XCONS))
(CALL 1 (E NCONS))
(POP P 2)
(CALL 2 (E XCONS))
(MOVE 2 -11 P)
(CALL 2 (E XCONS))
(CALL 1 (E *EVAL))
(JRST 0 TAG50)
TAG51 (MOVE 2 -5 P)
(MOVE 1 -4 P)
(CALLF@ 2 -11 P)
TAG52
TAG50 (CALL 1 (E NCONS))
(HRRM@ 1 -1 P)
(HRRZ@ 1 -1 P)
(MOVEM 1 -1 P)
(JRST 0 TAG1)
TAG17 (SUB P (C 0 0 7 7))
TAG15
TAG2 (SUB P (C 0 0 4 4))
(POPJ P)
NIL
(LAP &REPLACE SUBR)
(PUSH P 1)
(PUSH P 2)
(PUSH P 3)
(JUMPE 2 TAG2)
(MOVEI 5 (QUOTE 1))
(HLRZ@ 4 2)
(CALL 5 (E &REP1))
(JRST 0 TAG1)
TAG2 (MOVE 1 0 P)
TAG3
TAG1 (SUB P (C 0 0 3 3))
(POPJ P)
NIL
(LAP &REP1 SUBR)
(PUSH P 1)
(PUSH P 2)
(PUSH P 3)
(PUSH P 4)
(PUSH P 5)
(CALL 1 (E ATOM))
(JUMPE 1 TAG2)
(MOVE 2 5)
(MOVE 1 4)
(CALL 2 (E EQUAL))
(JUMPE 1 TAG4)
(MOVE 3 -2 P)
(HRRZ@ 2 -3 P)
(MOVEI 1 (QUOTE NIL))
(CALL 3 (E &REPLACE))
(CALL 1 (E NCONS))
(JRST 0 TAG3)
TAG4 (MOVE 1 0 P)
(CALL 1 (E ADD1))
(MOVE 5 1)
(MOVE 4 -1 P)
(MOVE 3 -2 P)
(MOVE 2 -3 P)
(MOVEI 1 (QUOTE NIL))
(CALL 5 (E &REP1))
(MOVEI 2 (QUOTE NIL))
(CALL 2 (E XCONS))
TAG5
TAG3 (JRST 0 TAG1)
TAG2 (MOVE 2 5)
(MOVE 1 4)
(CALL 2 (E EQUAL))
(JUMPE 1 TAG7)
(MOVE 3 -2 P)
(HRRZ@ 2 -3 P)
(HLRZ@ 1 -4 P)
(CALL 3 (E &REPLACE))
(HRRZ@ 2 -4 P)
(CALL 2 (E CONS))
(JRST 0 TAG1)
TAG7 (HRRZ@ 1 -4 P)
(PUSH P 1)
(HLRZ@ 1 -5 P)
(PUSH P 1)
(MOVE 1 -2 P)
(CALL 1 (E ADD1))
(MOVE 5 1)
(MOVE 4 -3 P)
(MOVE 3 -4 P)
(MOVE 2 -5 P)
(EXCH 1 -1 P)
(CALL 5 (E &REP1))
(POP P 2)
(CALL 2 (E XCONS))
(SUB P (C 0 0 1 1))
TAG10
TAG1 (SUB P (C 0 0 5 5))
(POPJ P)
NIL
(LAP &DECOMPOSE SUBR)
(MOVEI 3 (QUOTE NIL))
(PUSH P 2)
(CALL 3 (E &DEC1))
(POP P 1)
(POPJ P)
NIL
(LAP &DEC1 SUBR)
(PUSH P 1)
(PUSH P 2)
(PUSH P 3)
(JUMPN 1 TAG2)
(JUMPE 2 TAG3)
(TDZA 1 1)
TAG3 (MOVEI 1 (QUOTE T))
(JRST 0 TAG1)
TAG2 (CALL 1 (E ATOM))
(JUMPE 1 TAG4)
(MOVE 1 -2 P)
(CAIN 1 (QUOTE _))
(JRST 0 TAG5)
(CALL 2 (E SET))
(JUMPN 1 TAG5)
(JRST 0 TAG5)
(TDZA 1 1)
TAG5 (MOVEI 1 (QUOTE T))
(JRST 0 TAG1)
TAG4 (MOVE 1 2)
(CALL 1 (E ATOM))
(JUMPE 1 TAG11)
(JUMPN 2 TAG14)
(MOVEI 2 (QUOTE (_)))
(MOVE 1 -2 P)
(CALL 2 (E EQUAL))
(JUMPN 1 TAG12)
TAG14 (MOVE 1 -2 P)
(CALL 1 (E &SETNIL))
(JUMPN 1 TAG12)
(TDZA 1 1)
TAG12 (MOVEI 1 (QUOTE T))
(JRST 0 TAG1)
TAG11 (HLRZ@ 1 -2 P)
(CAIE 1 (QUOTE _))
(JRST 0 TAG15)
(MOVEI 3 (QUOTE T))
(HRRZ@ 1 -2 P)
(CALL 3 (E &DEC1))
(JUMPN 1 TAG16)
(MOVE 3 0 P)
(HRRZ@ 2 -1 P)
(MOVE 1 -2 P)
(CALL 3 (E &DEC1))
(JUMPN 1 TAG16)
(TDZA 1 1)
TAG16 (MOVEI 1 (QUOTE T))
(JRST 0 TAG1)
TAG15 (JUMPE 3 TAG20)
(MOVEI 3 (QUOTE T))
(HLRZ@ 2 2)
(HLRZ@ 1 -2 P)
(CALL 3 (E &DEC1))
(JUMPE 1 TAG22)
(MOVEI 3 (QUOTE T))
(HRRZ@ 2 -1 P)
(HRRZ@ 1 -2 P)
(CALL 3 (E &DEC1))
(JUMPN 1 TAG21)
TAG22 (TDZA 1 1)
TAG21 (MOVEI 1 (QUOTE T))
(JRST 0 TAG1)
TAG20 (MOVEI 3 (QUOTE NIL))
(HLRZ@ 2 -1 P)
(HLRZ@ 1 -2 P)
(CALL 3 (E &DEC1))
(MOVEM 1 0 P)
(MOVEI 3 (QUOTE NIL))
(HRRZ@ 2 -1 P)
(HRRZ@ 1 -2 P)
(CALL 3 (E &DEC1))
(JUMPE 1 TAG26)
(MOVE 1 0 P)
(JUMPN 1 TAG25)
TAG26 (TDZA 1 1)
TAG25 (MOVEI 1 (QUOTE T))
TAG23
TAG1 (SUB P (C 0 0 3 3))
(POPJ P)
NIL
(LAP &SETNIL SUBR)
(PUSH P 1)
(JUMPE 1 TAG3)
(CAIE 1 (QUOTE _))
(JRST 0 TAG2)
TAG3 (MOVEI 1 (QUOTE NIL))
(JRST 0 TAG1)
TAG2 (CALL 1 (E ATOM))
(JUMPE 1 TAG4)
(MOVEI 2 (QUOTE NIL))
(MOVE 1 0 P)
(CALL 2 (E SET))
(JRST 0 TAG1)
TAG4 (HLRZ@ 1 0 P)
(CALL 1 (E &SETNIL))
(HRRZ@ 1 0 P)
(CALL 1 (E &SETNIL))
TAG5
TAG1 (SUB P (C 0 0 1 1))
(POPJ P)
NIL
(LAP © SUBR)
(PUSH P 6)
(MOVEI 6 4)
(PUSH P (C 0))
(MOVE 3 ISPTR_)
(MOVEM 3 SPTR_)
(MOVE 3 IDPTR_)
(MOVEM 3 DPTR_)
(HLRZ@ 4 1)
(HLRZ@ 5 2)
(133000 0 SPTR_)
LOOP_ (134000 3 SPTR_)
(CAIN 3 42)
(JRST 0 FINISH_)
(136000 3 DPTR_)
(367000 6 LOOP_)
(MOVEI 6 4)
(MOVEM 2 0 P)
(MOVE 3 ISPTR_)
(MOVEM 3 SPTR_)
(HRRZ@ 1 1)
(HLRZ@ 4 1)
(134000 3 SPTR_)
(CAIN 3 42)
(JRST 0 LASTCH_)
(136000 3 DPTR_)
(MOVE 3 IDPTR_)
(MOVEM 3 DPTR_)
(HRRZ@ 2 2)
(HLRZ@ 5 2)
(JRST 0 LOOP_)
LASTCH_
(MOVEI 1 0)
(136000 1 DPTR_)
FINISH_
(MOVEI 1 0)
(CAIN 6 4)
(JRST 0 NULLCDR_)
LOOP1_ (136000 1 DPTR_)
(365000 6 LOOP1_)
EXIT_ (POP P 2)
(POP P 6)
(POPJ P)
NULLCDR_
(336000 0 0 P)
(334000 1 (C 0 0 (QUOTE T) 0))
(HRRM@ 1 0 P)
(JRST 0 EXIT_)
ISPTR_ (440700 0 0 4)
IDPTR_ (440700 0 0 5)
SPTR_ (0)
DPTR_ (0)
NIL
(LAP &STRP SUBR)
(HLRZ@ 3 1)
(MOVE 4 PTR_)
(134000 5 4)
(CAIE 5 42)
(JRST 0 FALSE_)
(MOVEI 5 5)
(CAMN 1 2)
(364000 5 LOOP_)
(HLRZ@ 3 2)
(MOVE 4 PTR_)
LOOP_ (134000 1 4)
(JUMPE 1 FALSE_)
(CAIN 1 42)
(JRST 0 TRUE_)
(367000 5 LOOP_)
FALSE_ (TDZA 1 1)
TRUE_ (MOVEI 1 (QUOTE T))
(POPJ P)
PTR_ (440700 0 0 3)
NIL (LAP EXIT SUBR)
(47000 0 12)
NIL
(SETQ QT (QUOTE /' ))
(SETQ LPAR (QUOTE /( ))
(SETQ RPAR (QUOTE /) ))
(SETQ LABR (QUOTE /< ))
(SETQ RABR (QUOTE /> ))
(SETQ LSBR (QUOTE /[ ))
(SETQ RSBR (QUOTE /] ))
(SETQ DASH (QUOTE /- ))
(SETQ STAR (QUOTE /* ))
(SETQ PLUSS (QUOTE /+ ))
(SETQ SLASH (QUOTE // ))
(SETQ BLANK (QUOTE / ))
(SETQ COLON (QUOTE /: ))
(SETQ COMMA (QUOTE /, ))
(SETQ PERIOD (QUOTE /. ))
(SETQ DOLLAR (QUOTE /$ ))
(SETQ EQSIGN (QUOTE /= ))
(SETQ LARROW (QUOTE /← ))
(SETQ DBQUOTE (QUOTE /" ))
(SETQ PERCENT (QUOTE /% ))
(SETQ CIRCLEX (QUOTE /⊗ ))
(SETQ UNDERBAR (QUOTE /_ ))
(SETQ SEMICOLON (QUOTE /; ))
(SETQ TAB (INTERN (ASCII 11)))
(SETQ LF (INTERN (ASCII 12)))
(SETQ VT (INTERN (ASCII 13)))
(SETQ FF (INTERN (ASCII 14)))
(SETQ CR (INTERN (ASCII 15)))
(SETQ ALTMODE (INTERN (ASCII 175)))
(SETQ TRUE T)
(SETQ FALSE (SETQ F NIL))
(SETQ BASE (SETQ IBASE 10.))
(PROG (&UNBOUND&))
(SETQ *NOPOINT T)
(NOUUO NIL)